package com.admin.service;

import com.admin.model.SensitiveWords;
import com.admin.model.ServiceInstance;
import com.alibaba.nacos.api.exception.NacosException;
import com.alibaba.nacos.api.naming.pojo.ListView;
import com.alibaba.nacos.api.naming.pojo.ServiceInfo;

import java.util.List;

public interface NacosServiceManager {
    // 获取所有服务的名称列表
    ListView<String> getAllServiceNames() throws NacosException;

    // nacos根据分组名称获取服务列表
    List<ServiceInfo> getServicesByGroup() throws NacosException;

    //nacos根据服务名称获取服务列表
    List<ServiceInfo> getServicesByNameList() throws NacosException;

    //nacos根据ServiceInfo获取所有
    List<String> getAllServiceAddresses(List<ServiceInfo> serviceInfos);

    //nacos根据ServiceInfo列表执行某个操作
    void performActionWithServiceInfo(List<ServiceInfo> serviceInfos, SensitiveWords sensitiveWords);

}
